<?php
namespace Task;

class AutoLoader
{
    /**
     * 
     * 加载配置文件
     */
    public static function loadConfig()
    {
        //加载配置文件
        $baseConfig = require CONFIG_PATH . 'config.php';
        if( !isset($baseConfig['load_config']) || !is_string($baseConfig['load_config']) )
        {
            exit('没有加载配置文件');
        }
        
        $configs = explode(',', $baseConfig['load_config']);
        foreach ($configs as $key=>$config) 
        {
            $file = CONFIG_PATH . $config . '.php';
            if (is_file($file)) 
            {
                $data = require $file;
                is_numeric($key) ? config(null,$data) : config($key,$data);
            }
        }
    }

    /**
     *
     * 加载类
     * @param object $class
     */
    public static function loader($class)
    {
        //加载配置文件
        self::loadConfig();

        //加载类文件
        $classPath = ltrim(str_replace('\\','/',$class),'/Task');
        $classFile =  BASE_DIR . '/' .$classPath.'.class.php';
        if (is_file($classFile))
        {
            require_once $classFile;
        }

        //加载第三方插件文件
        $vendorFile = BASE_DIR . '/' . $classPath . '.php';
        if (is_file($vendorFile))
        {
            require_once $vendorFile;
        }
    }
}